@import "../components/countdown/countdown.theme";
@import "../components/material-color-picker/material-color-picker.theme";
@import "../components/search-bar/search-bar.theme";
@import "../components/shortcuts/shortcuts.theme";
@import "../components/sidebar/sidebar.theme";
@import "../components/theme-options/theme-options.theme";
@import "../components/widget/widget.theme";

@mixin base-core-theme($theme) {
    $success-colors: mat-palette($mat-green, 400);
    $warning-colors: mat-palette($mat-amber, 400);
    $accent: map-get($theme, accent);
    $warn: map-get($theme, warn);

    // Theming for Base core styles
    @include colors-theme($theme);
    @include cards-theme($theme);
    @include material-theme($theme);
    @include page-layouts-theme($theme);
    @include typography-theme($theme);

    // Theming for Base components
    @include base-countdown-theme($theme);
    @include base-search-bar-theme($theme);
    @include base-shortcuts-theme($theme);
    @include base-sidebar-theme($theme);
    @include base-theme-options-theme($theme);
    @include base-material-color-picker-theme($theme);
    @include base-widget-theme($theme);

    // Theming for 3rd party components
    @include ngx-datatable-theme($theme);

    .error-notification-overlay {
        color: mat-color($warn, default-contrast);
        background-color: mat-color($warn);
    }

    .info-notification-overlay {
        color: mat-color($accent, default-contrast);
        background-color: mat-color($accent);
    }

    .success-notification-overlay {
        color: mat-color($success-colors, default-contrast);
        background-color: mat-color($success-colors);
    }

    .warning-notification-overlay {
        color: mat-color($warning-colors, default-contrast);
        background-color: mat-color($warning-colors);
    }
}

